package views;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.table.*;
import models.*;
public class AdminView extends Frame{
private JButton remove = new JButton("Remove");
private JButton add = new JButton("Add");
private JTextField username = new JTextField("Name");
private JTextField age = new JTextField("Age");
private JTable table;
private JPanel addPanel = new JPanel();
private String[] columns = {"Person", "Age"};
private Object [][] data;
private JButton accounts = new JButton("View Accounts");
private JButton generateReport = new JButton("Generate Report");
public AdminView(String title){
super(title);
constructTable();
username.setPreferredSize(new Dimension(100, 20));
age.setPreferredSize(new Dimension(100, 20));
addPanel.add(username);
addPanel.add(age);
addPanel.add(add);
contentPanel.add(addPanel);
contentPanel.add(remove);
contentPanel.add(accounts);
contentPanel.add(generateReport);
}
public void constructTable(){
data = new Object[Bank.getInstance().getInfo().keySet().size()][2];
int index = 0;
for(Person p: Bank.getInstance().getInfo().keySet()){
data[index][0] = p.getName();
data[index][1] = p.getAge();
index++;
}
DefaultTableModel tableModel = new DefaultTableModel(data, columns) {
@Override
public boolean isCellEditable(int row, int column) {
return false;
}
};
table = new JTable(tableModel);
table.setPreferredScrollableViewportSize(new Dimension(400, 200));
JScrollPane scrollPane = new JScrollPane(table);
contentPanel.add(scrollPane);
}
public void setRemoveButtonActionListener(ActionListener a) {
remove.addActionListener(a);
}
public void setAddButtonActionListener(ActionListener a) {
add.addActionListener(a);
}
public void setAccountsButtonActionListener(ActionListener a){
accounts.addActionListener(a);
}
public void setGenerateReportButtonActionListener(ActionListener a) {
generateReport.addActionListener(a);
}
public JTable getTable() {
return table;
}
public JTextField getUserName() {
return username;
}
public JTextField getAge() {
return age;
}
}